Automated classification of items using classification mappings

ABSTRACT

The present invention allows an item to automatically be classified using its attributes based on a classification schema and a knowledge base. The invention can include selecting an attribute of the item associated with a source classification system, comparing the value of the attribute to a set of possible attribute values, the possible attributes being associated respectively with a mapping of values from the source classification system to values in a destination classification system, selecting a destination classification for the item based on the comparison if the value of the attribute exists in the mapping, and if the value of the attribute does not exist in the mapping, modifying the value of the attribute, comparing the modified value to the set of possible values, and selecting a second destination classification for the item based on the comparing the modified value if the modified value exists in the mapping.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation-in-part of prior application Ser. No.09/900,733, filed on Jul. 5, 2001 now abandoned.

FIELD OF THE INVENTION

The present invention relates generally to the field of automatedclassification of items of, for example, an electronic catalog intocategories based on a knowledge base. More particularly, the inventionrelates to comparing characteristics of an item associated with aclassification system to a mapping in a knowledge base to find candidatecategories into which the item can be classified.

DESCRIPTION OF THE RELATED ART

In the creation of an electronic catalog, content is typically receivedin an unclassified form or a form which is classified differently thanis desired. For example, if a uniform schema of classification is to beused for content that is obtained from many different sources, thecontent must be reclassified to be consistent with the uniform schema.Typically, classifying new content requires an individual familiar bothwith the subject matter of the new content and the classification schemainto which the material is to be classified. The process of manuallyclassifying a large catalog of new items is time consuming andexpensive. As a result, many electronic catalogs contain multiple andinconsistent classification schemas within the single catalog. Thismakes it more difficult to find items and to compare different itemswhich may be classified into different categories.

Some items may be encoded using a standard classification system. Mostof these classification systems are hierarchical systems. Although thisinformation can be useful in classifying the item, often it is unusablebecause the item was encoded at an arbitrary level of the hierarchy.

For large groups of documents, classification systems have beendeveloped which analyze the text of the documents to try to connectdocuments that have similar text. Various different complex schemas havebeen employed so that documents are not grouped together simply becausethey contain the same words. The classification systems have beendeveloped to group documents together that have similar topics.Nevertheless, the precision and accuracy required in grouping similardocuments together is not as high as that required in grouping itemstogether to create an electronic catalog when that catalog is to use asingle classification system for content from many different sources.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

The appended claims set forth the features of the invention withparticularity. The present invention is illustrated by way of example,and not by way of limitation, in the figures of the accompanyingdrawings in which like reference numerals refer to similar elements andin which:

FIG. 1 shows a block diagram of a system for classifying items suitablefor use in implementing the present invention;

FIG. 2 shows a flow diagram of a cascaded search process suitable foruse in implementing the present invention;

FIG. 3 shows a process flow diagram of the development of a knowledgedatabase and a stop list suitable for use in implementing the presentinvention;

FIG. 4 shows a process flow diagram of categorizing a previously encodeditem suitable for use in implementing the present invention;

FIG. 5 illustrates a flow chart showing a process for classifying anitem using a source classification according to one embodiment of thepresent invention;

FIG. 6 shows a process flow diagram of categorizing an item suitable foruse in implementing the present invention;

FIG. 7 shows an alternative process flow diagram of categorizing an itemsuitable for use in implementing the present invention;

FIGS. 8A, 8B, and 8D show a flow chart showing a process for classifyingan item according to one embodiment of the present invention; and

FIG. 9 is an example of a typical computer system suitable forimplementing an embodiment of the present invention.

BRIEF SUMMARY OF THE INVENTION

The present invention allows an item to automatically be classifiedusing its attributes based on a classification schema and a mapping. Theinvention can include selecting an attribute of the item associated witha source classification system, comparing the value of the attribute toa set of possible values associated respectively with a mapping ofvalues from the source classification system to a destinationclassification system, selecting a destination classification for theitem based on the comparison if the value of the attribute exists in themapping, and if the value of the attribute does not exist in themapping, modifying the value of the attribute, comparing the modifiedvalue to the set of possible values, and selecting a second destinationclassification for the item based on the comparison if the modifiedvalue exists in the mapping.

DETAILED DESCRIPTION OF THE INVENTION

The present invention can be broadly considered in terms of three basicelements. The first element is to develop or use an existingclassification system that is to be applied to the object that is to beclassified. The second element is to develop or use an existingelectronic database of objects classified using the desiredclassification system and then to process this database into one or moreelectronic knowledge databases. The existing electronic database can bedeveloped or added to as items are classified. This electronic knowledgedatabase finds and positively weights words, tokens or symbols that arecommonly associated with items in a given classification. It also findsand negatively weights words or symbols that are frequently associatedwith items across a proportionately large number of classifications. Thethird element is to classify the new items by comparing the words andsymbols associated with each item to those in the knowledge database.The developed or existing classification system provides more consistentresults if it has a fully developed classification taxonomy, and if theelectronic knowledge database of content fully utilizes this developedclassification taxonomy. In addition, to compare the words and symbols,a text or symbol based search engine is needed.

In the present invention, a word, token, symbol or descriptive term canbe considered as one or more characters used to represent a concept in alanguage or a specialized subject matter. In western languages, this istypically represented by a series of characters separated by a space ora grammatical punctuation. In eastern languages, this is typicallyrepresented by a single character or a short group of characters. Acategory can be considered to be a name for a group of products sharingone or more similar characteristics. Similarities can be in form,function or other types of associations. An example of a category wouldbe “writing instruments” or “desk accessories”. The item that is to beclassified can be a product or a service or a concept. The item that isto be classified can be tangible or intangible. The present inventionwill be described in terms of products that may be found in an officesupplies catalog. However, a wide range of different items covering anysubject matter and in any language can be classified using the presentinvention.

The present invention can use a two-step approach to automaticallyclassifying items. The first step is to create a set of categories thatcan be used to group like items as in the classification systemdiscussed above. In the present example, categories have names thatdescribe which items should be in that category, for example, “wastecontainers”. The categories can also have aliases, i.e. alternate orsynonymous category names, for example, “waste containers” could havethe aliases “trash cans”, “dust bins”, and “waste paper baskets”.

As shown in FIG. 1, the present invention can be considered as beginningwith source content 11. The source content is then organized in a waythat allows it to best take advantage of the present invention. Thesource content is typically an electronic catalog in some form,typically having a list of items each associated with some descriptiveterms. As discussed above, the items can be tangible or intangible,documents, services, software or any other type of items capable ofbeing described. For purposes of illustration, an example of writinginstruments will be used. The catalog accordingly lists a large numberof different writing instruments, pens, pencils, markers, highlightersetc. A particular example of such an item would be one particularrollerball pen. This item can have a number of descriptive termsassociated with its various attributes, for example, a manufacturer:Pentel, a manufacturing part number: PENK105A and a description: hybridgel rollerball pen, fine, black. The item may also be associated with asupplier, for example, Corporate Express and a supplier part number, forexample, PEN05060.

For purposes of the present invention, the classification process isaided if the item's description is organized or formatted. Thisformatting typically involves assigning the descriptive terms toparticular fields. For example, the manufacturing part number can beassigned to a field of manufacturer part numbers and so on.Alternatively, the descriptive terms can be used as is without anyparticular organization being applied in advance. The organizationresults in formatted unclassified content 13.

The formatted content 13 can be represented as a table, a database, HTML(Hyper Text Mark-up Language), XML (Extended Mark-up Language) ordelimited text. for the item just discussed, the item could be put in atable as shown in Table 1. In a typical application, the content 13 willinclude hundreds or thousands of items.

TABLE 1 Mfg Name Mfg Part No. Description Sup. Name Sup. Part No. PentelPENK105A Hybrid gel Corporate PEN05060 rollerball pen, Express fine,black

A particularly useful attribute can be a classification. The sourcecontent may come organized into a particular taxonomy. If the existingitem classifications can be mapped into the standard referenceclassifications, then many items can automatically be classified.Typically, the existing categories will be more inclusive than theclosest standardized categories in some instances and less inclusive inother instances. As a result, the existing taxonomy can be used onlywith caution. Some classification taxonomies have found widespread use,such as the UNSPSC (Universal Standards Products and Services Code). Ifsuch a well-known taxonomy has already been applied to the sourcecontent, it can be leveraged to automatically classify some items and toaid in classifying others. As an example of an aid, if theclassification engine returns a list of candidate classifications, anythat do not overlap with the given UNSPSC category can be excluded.

Often the source content is available in the form of a catalog with alarge number of different items and each of the descriptive terms isalready organized into a set of consistent attribute fields. This formatof the source content can easily be applied to the present invention asdescribed below. The formatted unclassified content 13 is supplied to aclassification engine 15 that, in the process described below,classifies items in the source content and accordingly creates formattedclassified content 17. The classification engine uses a stop list orexcluded words database 19, an automatic classification knowledgedatabase 21 and a user interface 23 to perform these tasks. The stoplist is a list of words which are frequently associated with items in aparticular category, but also are used in describing products in manyother categories as well. As a result, these words do not uniquelyidentify items in any one particular category. The stop list allowsthese words to be excluded from both the knowledge database and from anysearches for categories. Because these words are common in manycategories, they do not significantly reduce the number of accurateclassifications but do increase the likelihood of mistakenclassifications. The stop list is not required and the classificationengine can operate without it.

The automatic classification knowledge database is a list of descriptiveterms for various attributes. Each descriptive term is associated with acategory. The list serves as the reference for classifying items in thesource content. The reference list can be organized into fields whereeach field describes a different type of data. As discussed above, thesefields can be such things as manufacturer names, descriptions ofproducts, manufacturer part numbers, supplier names and the like. Eachfield contains sets of descriptive terms or words which are associatedwith different categories. The taxonomy schema of the automaticclassification knowledge database serves as the model against which thesource content will be classified.

The knowledge base can take the form of raw data collected from one ormore different sources or the data can be processed into an engineeredknowledge base in a variety of different ways. One type of processing isto filter the raw data through an excluded words database and toeliminate all redundant entries. Such an engineered knowledge base willbe faster and more efficiently used in the context of the presentinvention than a knowledge base of raw data. Another type of knowledgebase can be made up of a classification or taxonomy schema only. Theclassification schema will typically include a set of classificationsand a description of the classification possible including someexamples. The description can be compared by the classification engineagainst attribute values of the item to be classified. Theclassification schema can also be engineered to optimize efficiency oraccuracy as discussed above. A further kind of knowledge base is aknowledge base of an alternate classification system. Such a knowledgebase can have a set of classifications according to the schema that isto be applied reference to an alternative classification system againstwhich the source content has already been applied, such as UNSPSC. Thisknowledge base allows items to be classified using an existingclassification as discussed above and can be engineered just as theothers can.

The user interface is typically a graphical user interface such as iscommonly used on desktop computers and can include a display such as acomputer screen or monitor and input devices such as keyboards andpointing devices. Any type of computing or digital interface device canbe used including portable and laptop computers, PDAs (personal digitalassistants) and fully functional graphical workstations. The userinterface allows an operator to make key decisions and to makeadjustments in any of the databases discussed above.

As mentioned above, the classification engine employs a search engine.The comparison or search can be defined in a variety of different ways.In one embodiment, a series of cascaded searches are conducted for eachsearch view. A suitable approach for applying a series of cascadedsearches is described for example in U.S. Pat. No. 6,032,145 issued Feb.29, 2000, to Beall et al. assigned to the assignee of the presentapplication, the disclosure of which is incorporated fully by referenceherein. The cascading hierarchy of searches can begin with directmatches, then look for proximity, then a high count of relevant words,then fuzzy logic etc.

The input query to the search can be a word, token or symbol or a groupof words, tokens, or symbols. For the example of Table 1, one searchview might use “Pentel” and “PENK105A”. Another search view might use“Hybrid gel rollerball pen, fine, black”. Many other search strings arepossible.

In one embodiment, the search engine operates as shown in FIG. 2. Thesearch engine begins by performing a proximity query which will try tofind an exact match of the search string within the database 21. Eachrecord within the database is tested against the search string to findrecords that contain all of the search terms in proximity to each other.The highest quality match will be a record in which all terms appear inthe same order as the search string. A lower quality match will have theterms in a different order, or may have the terms separated by otherstrings. The proximity query function.

At the conclusion of the proximity query, the search engine checks tosee if any matches were found, as shown in block 102. An exact matchwill lead the search engine to end the search. If no exact match isfound, the search engine sequences to the next type of search strategy.

Block 104 in FIG. 2 shows the preferred second sequential searchalgorithm. Since no exact match has been found, the software performs aword count query in which individual words or search terms within thesearch string are checked against the products within the database 21.The strategy at this point is to find products within the database 21that may match some of the descriptive terms in the search string. Theword count query may also apply a stemming function to search terms toidentify similar root words.

Block 106 test the results of the word count query to determine if anymatches have been identified. If at least one item from the database hasbeen returned by the search algorithm, the search is ended. Otherwise,the search engine executes the next algorithm in the sequence of searchalgorithms.

As shown in block 108, the next search algorithm in the sequence ispreferably a fuzzy logic query. In this context, a fuzzy logic algorithmmay also be known in the art as a “word wheel” or other name associatedwith an algorithm for testing combinations and permutations of thealphanumeric characters in the search string. For example, a user whoenters a search string having a typographical error will not generallyfind an exact match within the database, but a fuzzy logic algorithm mayselect the desired product on the basis of similarity with the searchstring.

The search engine may also rank the degree of similarity between eachmatched database record with the search string. For example, recordswith a large number of alphanumeric character or token matches againstthe search term will be ranked higher than records with only a fewmatching characters. Ranking algorithms are found in severalcommercially available software packages.

There are other possible sequences of search algorithms, but in generalit is desirable to execute the narrowest, or most specific, searchfirst. The sequence should proceed with search algorithms according tothe scope of each algorithm. For example, a search for the specificsearch string is the narrowest in scope, whereas a search for relatedsearch strings will be broader in scope because it will likely return awider range of matches.

An additional type of search algorithm not specifically shown in FIG. 2is a “soundex” or “sounds-like” search, in which the search string istested against database records for similarity in sound. Such a searchcan be used.

If any match is found as a result of a search algorithm, the successivesearch algorithms will be skipped and the search engine will end thesearch. In the unlikely event that no matches were found aftercompletion of the entire sequence of search algorithms, the searchengine will proceed to the display block 114 with a message indicatingthat no products were found. Alternatively, the search engine can go toanother search view.

To further increase the likelihood of finding a match, the search enginecan have a list of synonyms for each attribute. The search algorithmscan replace individual search terms with appropriate synonyms forpurposes of matching data records. The attributes are normally used aspart of an algorithm for finding matches, and the use of synonyms forthe attributes gives additional flexibility to the range of searchstrings that will produce meaningful matches.

Another way to increase the flexibility of the search algorithms is toallow natural adjectives in the search string to help select certainattributes. For example, if there is a category for computers, and thecategory has an attribute for processor speed, then the adjective“fastest” in the search string could be used to select the fastestcomputer. Slower computers would be eliminated from the display list302.

Yet another way to increase the flexibility of the search algorithms isto assign categories alternative roles such as, but not limited to,problem spaces and applications. In this embodiment, the items found bythe query are actually predefined queries that generate lists of actualdata records from the database. Thus, selecting a category becomesequivalent to submitting a predefined query to the database.

Referring to FIG. 3, the formatted unclassified content 13 is firstfiltered 31 through a stop list or excluded words database 19. It isthen processed against the automatic classification knowledge database21 or any other knowledge base in order to assign it to a category 15.This classification process is discussed in more detail with respect toFIGS. 4, 6 and 7. The result is the classified content 17 of FIG. 1.

FIG. 3 shows how, in the process of classifying each item, the stop list19 and the classification knowledge database 21 can be updated. Thisallows the accuracy of the system to improve as the base of classifiedcontent grows. As will be understood in the course of this description,continuously updating the two primary databases also allows the presentinvention to be deployed without any data from previously classifieditems. The stop list and the classification knowledge database can bebuilt up based only on unclassified data as it is sorted.

In another embodiment, the classification knowledge database 21 can becreated based on one or more standardized catalogs (not shown). Thesecatalogs can be combined together and the combination can be used tobuild item descriptions of categories. In one embodiment, thestandardized catalogs are all constructed using a common classificationsystem which includes a number of items and, for each item, a number ofattributes. For each attribute there are one or more descriptive termsregarding the item, each of which falls under a particular attribute orfield. For example, a set of items compiled from two different suppliercatalogs, showing attributes with the items and descriptive terms asvalues for the attributes is shown in Table 2.

TABLE 2 Mfg Part Sup Part Supplier ID # Mfg Name Num. Sup Name NumDescription Category 01153 PaperMate PAP-45601 XYZ 421606 Flexgrip withPens Corp. Ballpoint Pen, Blue 02712 Sanford 22952 XYZ 382246 Tri-grip,Pens Corp. Retractable Ballpoint Pen 05363 Pilot 35336 ABC 302257Precise VS Desk Corp. Rollerball Pen, Supplies Red

In a standardized reference catalog, the content has already beenclassified and contains attributes with values. To create theclassification knowledge database, all of the attribute values for allof the items in each category can be combined to create a singlemeta-item for each category. The reference list of meta-items is theautomatic classification knowledge database 21. It can be independentlymaintained and can allow searches to be simplified. An alternativestructure for the classification knowledge database is a reference listof descriptive terms each linked to a particular attribute or field, acategory, and a weighting. The search engine searches for a match to anyof the descriptive terms in the reference list and then, from thematching term, can link it to the associated category and weight.Mismatches can be avoided by limiting searches to terms that occur inthe same field for both the item to be classified and the meta-item.

The excluded words database 19 can be created independently of languageusing statistical methods. The stop list can also be developed byanalyzing the knowledge database 21 and formatted unclassified content.An example of such criteria 38 is as follows: a word can be added to thestop list if 1) it has a particular length of characters, 2) the word isused to describe at least x percent of items in a category and 3) theword is used to describe at least x percent of the items in at least ypercent of all of the categories. This statistical approach requires ananalysis of an existing database or it requires an ongoing analysis ofitems to be classified. However, it does not require any knowledge ofwhat the words mean or of their usage in any particular field. The stoplist in most situations would have words such as “and” “or” “the” and inmany fields may include words such as “steel”, “viscosity”, “general”,“voltage” etc. The stop list may vary depending on the types of itemsthat are to be classified. Certain groups of items may not bedistinguishable based on certain words while other groups of items maybe.

The excluded words database 19 can be built and maintained starting withthe set of exclusion specifications 38. As discussed above, theexclusion specifications can include the length of the descriptive termand its frequency in items across all categories as shown in Table 2.Accordingly, extremely short descriptive terms and descriptive termswhich occur frequently in many different categories can be excluded. Theexcluded words database 19 built this way is used to modify meta-itemdescriptions so that the excluded words can be excluded from searches inthe automatic classification.

Table 3 shows a sample set of additional criteria from the exclusionspecifications 38 for building the excluded words database. Thesecriteria work well for electronic catalogs in the English language thathave a large variety of different products and several thousandcategories.

TABLE 3 No. of characters % of categories 1 0 2 3 3 5 4 10 5 or more 15

According to Table 3, words, tokens, or symbols with one character orletter are excluded completely from the classification knowledgedatabase 21. Words with two characters are excluded if they occur inmore than three percent of the total categories etc.

After an item has been classified 15, the information from that item canbe used to update both the stop list 19 and the classification knowledgedatabase 21. The data can first be applied to build and update 33 a stoplist reference database 35. The excluded words reference database can beused as a reference to update 37 the excluded words database. In oneembodiment, the excluded words reference database includes a list ofevery word, symbol, or token ever found in a classified item. Each wordis associated with a list of all the associated categories. In otherwords, each distinct category in which an item's description containedthat word, can be listed. From this, and the total number of possiblecategories, which can be derived from the stop list reference database,the percentage of categories which contain a particular word in anyitem's description can be determined. This is the value used in Table 2above.

For example, the word “and” will likely occur in the descriptive termsfor many items in many different categories. Accordingly, it will likelybe a part of the excluded words database 19. The word “ballpoint” willlikely occur in the descriptive terms only for pens. Pens will be in oneor only a few categories. Accordingly, “ballpoint” will probably not bein the stop list. If an operator has some knowledge of the words orterms in the source content descriptions, some words can be added to thestop list before the system is in operation. Typically these would bethe common short words such as prepositions, articles, conjunctions andcommon units of measure (e.g. meter, gram, etc.). However, as can beunderstood from this discussion, the stop list can be generated fromclassified items without any knowledge of the meaning of its terms orthe language involved.

As shown in FIG. 3, the stop list reference database 19 is updated 33 byanalyzing the words, terms, symbols or tokens of the newly classifieditem 17 to create an updated reference database 35. This referencedatabase can contain all or most of the words encountered by the system.By applying specifications 38, discussed with respect to Table 2,certain ones of the words in the reference database can be selected toupdate and maintain 37 the stop list. The updated stop list 39 is fedback into the stop list 19 to be applied to the stop list filter 31 usedfor classifying items.

The newly classified item can also be used to update 41 theclassification knowledge database 21. As shown in FIG. 3, thedescriptive terms of the newly classified item are used in this updatingand are applied against a standards database 47. Note that any wordsalready in the stop list are filtered out 31 of the updating process.This database holds a set of standards 47 for application to themeta-items of the classification knowledge database 21. These standardscan apply to the names of categories, the attributes of the categoriesand aliases for the category names. These standards can be used tofilter through the meta-item descriptions and to further refine the itemdescriptions that have been built.

As with the stop list, a classification knowledge reference database 43can be used as a source of information to determine which if any wordsto use in updating 45 the classification knowledge database. In oneembodiment, the reference database has a list of each category. A listof all words encountered in descriptions of items in that category isassociated with each category name, together with the number of itemsdescribed by each word. Accordingly, if a word is used to describe mostof the items in a category such as “ballpoint” then it can be used toupdate the classification knowledge database. Similarly a word such as“and” may also be used in the description of a large number of items ina particular category, but it will be excluded from the classificationknowledge database 21 by the stop list 19.

Each term-category combination can be weighted based on the percentageof items in that category which contain at least one instance of theword. For example, a term that is contained in less then 5% of the itemsin the category can have a weight of 1. A term contained in 5% to 25% ofthe items in a category can have a weight of 2. A term contained in 25%to 65% of the items in a category can have a weight of 4 and a wordcontained in 65% to 100% of the items in a category can have a weight of7. Each of the descriptive terms can also have a number of aliases orsynonyms so that words having similar meanings can be grouped together.This can be done statistically without requiring any knowledge of theitems or of the language involved in creating the electronic catalogs.

The words in the reference database are used to create 45 an updatedclassification knowledge database 51 which is fed back into theclassification knowledge database 21 used by the classification engine21. Accordingly, the classification knowledge database contains wordswhich frequently occur in items in each category. The classificationengine 15 can look at any classified product database or product catalogbeyond the standards database 47 and automatic classification knowledgedatabase 21 and use the approaches described with respect to FIGS. 4, 5and 6 to classify an item. This classified product database can containa large number of items or zero items. As each item is classified thedatabase becomes more accurate for future classifications. With eachclassification, additional information about a classification can beadded to the engineered knowledge base after the item is classified.

The automatic classification knowledge database 21 or any otherknowledge database can be used to build knowledge database views. Thepurpose of the views is to restrict the fields or the databases thatcontain searchable knowledge to those that match the type of descriptiveterms that are currently used to classify an item. Multiple views can becreated to capture the knowledge appropriate to the applicable searchmethod. For example, one view can be manufacturer name and manufacturerpart number. This view can be applied to a particular search directed tofind this information using a direct match. Another example would be ashort description. A different kind of search would be applied to matcha short description of an item to be classified to one for themeta-items in the knowledge database. In one embodiment, these views areused for searching instead of searching the entire knowledge database.In another embodiment, views are not used. Instead of restricting thefields or the databases, searches are performed through the entiredatabase or databases. In such an embodiment, some or all of the viewsas described herein can be considered simply as queries.

FIG. 4 shows one diagrammatic view of automatically classifying thesource content 11. As previously described, the source content may comeorganized into a particular taxonomy, such as the UNSPSC, eClass, orNATO Classification codes. Table 4 shows a listing of a few UNSPC pencodes and their descriptions. As illustrated in Table 4, the UNSPC is ahierarchical classification system. Each two-digit segment of the coderepresents a level of the hierarchy. As the hierarchy is traversed fromthe top level down, the codes become more detailed and the descriptionsbecome more specific.

TABLE 4 UNSPC Description 44000000 Office equipment and accessories andsupplies 44120000 Office supplies 44121700 Writing instruments 44121701Rollerball pens 44121702 Pen or pencil sets 44121703 Fountain pens44121704 Ball point pens

According to one embodiment, the formatted unclassified content 13includes items that have been previously classified with aclassification system, such as a UNSPC, eClass, or NATO classificationcodes. The classification code for each item can be treated like anyother item attribute or as a separate characteristic of the items. Eachof the classified items has a value for the attribute associated withthis source classification. The value of this attribute can be applieditem by item, to a search engine 55 within the classification engine 15.The search engine, as described with respect to FIG. 2, takes a firstsearch view 50 and compares the value of this attribute to a mapping inthe automatic classification knowledge database 21 from the sourceclassification system to the destination classification system. Thedestination classification system is the system in which the item isultimately to be classified or categorized. The mapping in the knowledgedatabase maps values from the source classification system to values inthe destination classification system. The structure of this mapping maybe pointers, a database table, or some other structure which maps thevalues of the source classification system to the destinationclassification system.

If a match is found 52, the item can be classified 67. However, theremay not be an exact match to provide a direct mapping between the sourceclassification of the item and the destination classification system. Inthat case, the source classification value can be modified 56. Themodified formatted unclassified content 14 can then be applied to asearch view 50 and if a match is found the item can be classified.

For example, the value of the attribute associated with the sourceclassification of the item may be UNSPC 44121704. The map in theknowledge database may contain a record or pointer mapping UNSPC44121700 to a destination classification category “Pens”. There may beno records or pointers mapping UNSPC 44121704 to the destinationclassification system. Therefore, the first search for 44121704 in themapping will fail.

After the first attempt to classify the item with a destinationclassification fails, the source classification value of the item44121704 can be modified to move up the hierarchy in the UNSPC. With aUNSPC, this is accomplished by changing the last two digits to “00”,resulting in a modified value of 44121700. It should be appreciated thatalternate hierarchical source classification systems may be modified ina different manner to cause the value to move up the hierarchy. A searchwith this value would result in finding the map between 44121700 to thedestination classification “Pens”. Thus, the item can be classified inthe destination classification system with the destinationclassification “Pens.”

In the present UNSPC example, the least significant component of aclassification code is on the right and each component contains twodigits. The system starts the search with the least significantcomponent and if there is no match, works its way through each componentto the most significant component, e.g. 44. The specific details of thisprocess can be adapted to suit any style or structure of classificationor categorization system. At some level, for example, the most generallevel 44, the classification code may no longer serve as an unambiguousreference to the target classification system. In this case, theclassification code can be used in combination with other attributevalues for the item to determine a classification as described, forexample, with respect to FIG. 8.

This process can continue until the top of the hierarchy 54 of thesource classification system is reached. If a mapping still cannot befound, an alternate search view 66, such as the one described below inFIG. 6 or 7, can be taken. Thus, the classification engine 15, using thesearch engine 55, finds an appropriate classification code and canassociate it with an item to produce a classified item 17.

FIG. 5 illustrates a method for implementing the present inventionaccording to an alternate embodiment. The method begins by obtaining anitem description 201, which can come from the source content 11 ofFIG. 1. The item description contains an item with a number ofdescriptive terms. For example, a pen item can have descriptive termsfor the manufacturer, the supplier, the price, the written description,and a value for a source classification, such as a UNSPC code. If thecontent is unformatted, the descriptive terms of the item are thenassociated with attributes of the item 203. Next, the attribute for thesource classification system is selected 205. The value for thisattribute is then compared to a mapping in the knowledge database 207.

For example, the source classification code can be UNSPC 44121704 (seeTable 4). The mapping in the knowledge database 21 may not contain UNSPC44121704, but may contain a mapping from UNSPC 44121700 to a destinationclassification category “Pens”. In this example, a match would not befound 209.

Provided the top level of the hierarchy is not reached 211, the sourceclassification code can be modified 213. In one embodiment, this mayinclude parsing the source classification code into componentscorresponding to levels of hierarchy in the source classificationsystem. The component that that identifies the current unsuccessfullevel of the hierarchy for the source classification code can then beselected. This component can then be modified to move the value up tothe next level of the hierarchy. For example, if the sourceclassification system is UNSPC, the component can be replaced withzeros. If the source classification system is eClass, the component canbe replaced with Xs. The modified value can then be compared to themapping 207. If a match is found, the item can be classified with thedestination classification 219.

In one example, the UNSPC 44121704 can be parsed into four components:44, 12, 17, and 04, corresponding to the levels of hierarchy that eachcomponent represents in the UNSPC. In this example, the 04 componentidentifies the current unsuccessful level of the hierarchy. It should beappreciated that in alternate examples, the current unsuccessful levelmay be at a different level. The 04 component can then be selected andchanged to 00. The changed UNSPC 44121700 represents a sourceclassification value one level higher in the UNSPC hierarchy than theoriginal value. This process can continue until the top level of thehierarchy 211 is reached (e.g. 44, Office Equipment and Accessories andSupplies). If a match is still not found, an alternate classificationmethod, such as that described in FIG. 8 can be used.

FIG. 6 shows another diagrammatic view of automatically classifying thesource content 11. According to one embodiment of the present invention,as discussed above, the source content is formatted 53 by applyingstandards from the standards database 47 to arrive at formatted butunclassified content 13. This formatted unclassified content is applieditem by item, to a search engine 55 within the classification engine 15.The search engine as described with respect to FIG. 2 takes a firstsearch view 57 and compares it to descriptive terms in the automaticclassification knowledge database 21. In one embodiment, the excludedwords database 19 is applied to limit the descriptive terms in the firstsearch view. While these terms have been excluded from the knowledgedatabase, they may occur in the formatted content 13. By excluding themfrom the search, the speed and efficiency of the search can be improved.

Search results can be scored heuristically. The weighting factors forconfidence can include the type of search that is used. For example, aproximity search, a spell checked search, a word count search and amatching search can all be used as further described with respect toFIG. 2. In addition, the view can be used as a weighting factor. Forexample, if the search is performed for a matching part number and amatching part number is found, this can be given a high confidencerating that the two items with the same part number belong in the samecategory. On the other hand, if the view is for a short description ofthe item and a description is found during the search or comparison withsimilar descriptive terms, this result would be assigned a lowerconfidence score. The results from the searches can be averaged orapplied to create a weighted average to give a total score.

The classification confidence system can be designed so that a highconfidence score not only reflects confidence that a category is likelyto be correct, but also that only one category is likely to be correct.These two aspects can be rated separately. Confidence in a selectedcategory can be associated with an absolute score. If there is a highdegree of correlation between an item's description and the descriptionin the knowledge database, this will result in a high absolute score.With the cascading search technique patent, each subsequent search usesbroader criteria. As a result, there is lower confidence in thecorrectness of the result in each subsequent search. The confidence thata returned category is correct can be estimated by assigning a scorecorresponding to the likelihood of correctness in each technique. In anexact match search, the confidence may be much higher than for a searchlooking for any word that matches or for a proximity search.

If the confidence is high, then the category retrieved and itsconfidence can be returned to a user interface or used to classify theitem directly. In other words, the category and confidence are compiled63. If an item has a high confidence level 65 then it can be classifieddirectly 67. If the confidence level is low, then the results can besent to a user interface 23 for review and selection by an operator 69.The operator selection will then be classified 67. If the confidencelevel scoring results are not high, then a new search view 71 can becreated. For example, if the first view was made up of manufacturer partnumber and name, the second search view can be supplier part number andname. This can be searched again though a cascading set of searchdefinitions 59 and the results of the search can be scored 73 usingscoring weights 75.

A third search view 77 can be presented as well as fourth, fifth andsubsequent search views. The results of these search views can also beweighted 79 using the same scoring weights 75 as are applicable to thecorresponding search. In one embodiment, results from the comparisons ofseveral different search views can be combined 81 with the weights todevelop a composite category scoring and weighting. As described abovewith respect to the first search view, this consolidated confidencescore and category ranking can then be evaluated 63. If there is a highconfidence 65, it can be classified directly or for lower confidenceresults, they can be submitted for human review and selection 69. As canbe understood from the above, as a result, the classification engine 15,using the search engine 55, produces a classified item 17.

The determination as to whether or not to automatically classify an itemcan be made using thresholds. The thresholds can be made configurable bya system manager depending upon the need for accuracy as balancedagainst the amount of operator interaction desired. In this approach,the confidence score at each search view is compare to a configurablethreshold. If the score is above the threshold, then it is automaticallyclassified. If it is below the threshold, then it is submitted to a userfor human review and selection. Since the thresholds are configurable,they can be modified as the knowledge base is improved as shown in FIG.3. A variety of other approaches can also be applied to the confidencescores to determine whether to submit an item for human review.

FIG. 7 shows another diagrammatic view of automatically classifying thesource content 11. As before, the source content is formatted 53 byapplying standards from the standards database 47 to arrive at formattedbut unclassified content 13. This formatted, unclassified content isapplied item by item, to the search engine 55 within the classificationengine 15. The search engine in this case takes different views whichare based on different knowledge databases instead of on differentsearch terms. In this example, all search views can be applied to thesame descriptive terms. The description shown in Tables 1 and 2 can beparticularly useful in such a case. Accordingly, the search enginetakes, for example, the description and applies it to the first searchview 83. This search view compares the description to descriptive termsin the automatic classification knowledge database 21. As before, theexcluded words database 19 is applied to limit the descriptive terms inthe first search view and improve the speed and efficiency of thesearch. The results are scored and weighted 85.

If confidence is high, then the category retrieved and its confidencecan be returned to a user interface or used to classify the itemdirectly. In other words, the category and confidence are compiled 63.If an item has a high confidence level 65 then it can be classifieddirectly 67. If the confidence level is low, then the results can besent to a user interface 23 for review and selection by an operator 69.The operator selection will then be classified 67. If the confidencelevel scoring results are not high, then a new search view 87 can becreated to classify the item against a different knowledge base. Thisknowledge base can also be searched though a cascading set of searchdefinitions 59 and the results of the search can be scored 91 usingscoring weights 75.

In the illustrated example, the second search view 87 compares thedescription against an existing catalog 89. This can be any catalog thatconforms to the classification system that is desired. The existingcatalog can have formed the basis for the classification knowledgedatabase 21. However, in contrast to the classification knowledgedatabase, in this example, the catalog contains raw data. It is notengineered to contain a single carefully edited meta-item for eachcategory. Instead, it contains an unfiltered list of items. As a result,a matching similar item may be found in the catalog that could not befound with a meta-item. The results of this search view, if any are alsoscored and weighted 91.

A third search view 93 can compare the same description to anotherknowledge base. In this example, the third knowledge base is thestandards database 47. As mentioned above, the standards database is anengineered knowledge base of the classification schema and containscategory and attribute names for each category. It also contains aliasesfor each of these names. So, for example, with the item of Table 1, thedescription includes the words “pen” and “rollerball”. These words mayappear in the standards database as a category name or an alias for acategory name. Such a match would then return the “pens” category as amatch. The results of the third search view are also scored and weighted95.

As mentioned above, the results of the three and any other search views(not shown) are weighted 85, 91, 95 using the appropriate scoringweights 75 as are applicable to the corresponding search. The resultsfrom the comparisons of the several different search views can becombined 97 with weights to develop a composite category scoring andweighting. As described above with respect to FIG. 6, this consolidatedconfidence score and category ranking can then be evaluated 63. If thereis a high confidence 65, it can be classified directly or for lowerconfidence results, they can be submitted for human review and selection69. A result, the classification engine 15, using the search engine 55,produces a classified item 17.

The approaches shown in FIGS. 4, 6 and 7 can be combined on a per itemor per attribute basis or used independently. For example, the multipleviews of FIG. 7 can be used in each search view of FIG. 6 to compareindividual attributes against several different knowledge databases.Alternatively, the search views of FIG. 6 can be compared in each searchview of FIG. 7 to compare multiple attributes against a singlereference. These approaches can all be combined to arrive at a compositeweighted and scored set of candidate categories.

The present invention can be used with only one of the three referencesources 21, 47, 89 shown in FIG. 7. Starting with the standardsdatabase, the classification knowledge database can be developed asitems are classified as shown in FIG. 3. Alternatively, an existingcatalog can be used without the other two references. As discussedabove, the present invention can also be used with no reference at all.The first item is classified manually and the second item is compared tothe first item. The third item is compared to the first and second itemsand so on until the whole catalog is developed. As a further benefit,the present invention can be applied independent of any subject matterdomain of the items and of the item classifications, the subject mattersdomains can include electronic, office products, and medical suppliesand many more. The present invention can also be applied independent ofthe language of the item and independent of the language classificationsystem.

FIG. 8 presents a method for implementing the present invention inanother embodiment. This embodiment begins by obtaining an itemdescription 101. The item description comes from the source content 11of, for example, FIG. 1. The item description contains an item with anumber of descriptive terms. The descriptive terms are then associatedwith attributes of the item 103, as shown for example, in Table 1. Theitem descriptions are filtered 105 through the stop list or excludedwords database 19. After the descriptive terms are filtered, a firstsearch view is selected. In one example, this first search view is themanufacturer and manufacturer part number attributes 107. Thedescriptive terms for these attributes are applied in searching thereference list or classification knowledge database 21 for matchingvalues 109.

One example of the manufacturer name can be Pentel and the manufacturerpart number can be PENK105A (see e.g. Table 1). The reference list orknowledge database 21 may contain, for example, descriptive termssimilar to the descriptive terms of the selected item. For example, asearch for matching attribute values may return Pentel for manufacturername associated with the following manufacturing part numbers PENK105A,PENK105B, PENK106A, CR13-A, B1234. The search engine then selects theclosest matches 111. In the present example, PENK105A is an exact matchand the others are less close. The confidence ranking for each of thesereturns from the search can be scored based on the closeness of thematch. Accordingly, a confidence score is assigned to each selectedreturn based on how closely the selected return corresponds to thedescriptive term of the selected item.

If the item can automatically be classified 115 then the item isclassified in the highest confidence category 117. A direct match isassigned a high confidence score and a manufacturing part numberattribute is also assigned a high confidence score. Accordingly, if, ona search for Pentel and PENK105A, a direct match with Pentel andPENK105A is found, the confidence score can be assigned a very highvalue and the item can be classified. In essence, the particular item inthe source content 11 has already been classified in the knowledgedatabase 21. Accordingly, once the same item is found again, it can beclassified the same way that it is in the reference list. On the otherhand, if the matching part number was not available in the knowledgedatabase then the search results would leave only PENK105B, PENK106A,CR13A and B1234. The search criteria would identify PENK105B andPENK106A as close matches. These would be assessed relatively highconfidence scores. In an attribute such as manufacturing part numberthat has a high confidence score, the resulting confidence score, whileless than for a direct match would still be very high. As a result, theitem can also be automatically classified. On the other hand, if onlyCR13A and B1234 were found in the search, these would be assigned muchlower confidence scores. The item would probably not automatically beclassified. The thresholds of confidence for automatic classificationcan be set according to the needs of the particular implementation.

If the item is not classified, a second search view is taken, forexample, a supplier and supplier part number attribute can be selected118. As before, the reference list is searched for matching values 119and the closest matches are selected 121. A confidence score is assignedto each selected match using a strategy similar to that described above.If the item now has a high enough confidence that it can beautomatically classified 125, then it will be classified 117. Asdiscussed above with respect to FIGS. 4 and 5, the confidence rating forthe first search view and the second search view can be combined todetermine a cumulative confidence score. This cumulative score can beapplied to increase the confidence level if the same classification issuggested by two searches. A direct match of supplier and supplier partnumber attribute values also shows that the item has already beenclassified. Close matches for both manufacturer part No. and supplierpart No. together suggest the item is similar to those of the closematches.

If the item cannot automatically be classified then a third search viewcan be selected 127. For example, a short description can be selected.In one example this description may read, “hybrid gel roller,rollerball, pen, fine, black”. The reference list is searched forequivalent values 129 and the closest matches are selected 131. In oneembodiment, each of the descriptive terms in the short description aresearched independently each corresponding to a set of differentcategories. In one example, “black” may have 9,594 hits and relates tocategories such as bookcases, business machine ribbons, binding combsand clamps, audio visual carts, shoe and boot covers, batteries, generallubricants, compressed air treatment units, ballpoint pens, chemicaladhesives and air fresheners. The term “gel” may return 154 matches withcategories of dispensers, glues and hand lotions. The descriptive term“rollerball” may return only one hit or matching descriptive term thatcorresponds to ballpoint pens. Looking only at the ballpoint penscategory, the results may be presented as shown in Table 5. Black occursas an attribute value in 99.4% of the pens in the classificationknowledge database, gel in 5.4% and rollerball in 42.5%. Based on blackand rollerball, high confidence can be placed on ballpoint pens as theproper category.

TABLE 5 # Items in Category Word # Items Category Ballpoint Pens Black994 1000 Ballpoint Pens Gel 54 1000 Ballpoint Pens Rollerball 425 1000

Viewed another way, the search on the short description returns a numberof categories, however, in the present example there is only onecategory which is common to the three descriptive terms black, gel androllerball. This category is ballpoint pens. As a result, a high levelof confidence can be scored for the ballpoint pen category. Using theapproaches discussed above, a confidence score is assigned to eachselected match and the confidence scores are combined 133 for an overallscore. If the item can be automatically categorized 135 then it will be117. Otherwise, another attribute is selected 137.

The next selected attribute can be any of the other attributes that areassociated with the item to be classified. The reference list issearched for this and any subsequent attributes 139. The closest matchesare returned 141 and confidence scores are assigned to the results ofthe search 143. The confidence scores can be compiled for each match145. With adjustments to the confidence scores for each type of search147, the combined confidence scores can be adjusted for each category149, and these results can be used to establish a ranking for eachcategory with an associated confidence score 151. From this, it can bedetermined whether or not the item can automatically be classified 153and, if so, it will be 117.

An example of combining confidence scores to develop an overallconfidence ranking for all obtained categories can be seen in the tablesthat follow.

TABLE 6 Search Input Ref. Search Pass Method Attributes AttributesMethod(s) Weight Order Action 1 Mfgr, Mfg Mfg Name, Proximity 100 1 StopPart # Mfg Part Num 2 Desc, Desc. 3 Proximity 100 2 Stop Category(Highest Cleanse) 3 Desc, Desc. 2 Proximity 90 3 Continue Category 4Desc, Desc. 3 Proximity 80 4 Continue Category (Highest w/spell checkcleanse) 5 Desc, Desc. 3 Word Count 70 5 Continue Category (Highestcleanse 6 Desc, Desc. 1 Word Count 80 6 Stop Category (Lowest cleanse) 7Desc, Desc. 1 Proximity 55 7 Stop Category (Lowest cleanse) 8 Desc,Desc. 1 Proximity 40 8 Continue Category (Lowest w/spell check cleanse)9 Desc, Desc. 1 Word Count 30 9 Stop Category (Lowest cleanse)

Table 6 shows an example of weights and actions that can be used tocreate, for example, nine cascaded searches. Table 6 is provided as anexample only. Many other types of searches can be used in many differentorders. Each row is for a different search. Input attributes identifiesthe descriptive terms of the item to be classified. Reference attributesidentifies the knowledge database terms that are searched. The type ofsearch is identified in the search method column and can includeproximity searches, proximity searches with a spell check, and wordcount searches. Weight identifies the confidence score attached to thetype of search. Order identifies the sequential ordering for conductingthe searches and Pass Action identifies the course to take if a match isfound. Accordingly, the first search is a proximity search for themanufacturer name and manufacturer part number. This type of search isgiven a weight of 100 so that if an exact match is found, theclassification engine automatically classifies the item. The pass actionis to stop, so no further searching is performed. The second searchperformed is a proximity search based on the description. This isperformed only if the first search fails.

The searched description is a short description such as the descriptioncolumns shown in Tables 1 and 2. Note that searches 2 through 9 are allperformed on the description but the results from each search are givena different confidence score ranging from 30 to 100. This isaccomplished using what is identified in Table 6 as low, medium and highcleanse.

Low medium and high cleanse refer to the words, symbols, tokens etc. ofthe classification knowledge database that are used in each search. In alow cleanse every word that relates to the description is searched.Accordingly, in search 7, if any word in the description of the item tobe classified matches any word for descriptions in the classificationknowledge database then the result is tabulated and scored with a weightof 55. If more than one word matches, then this is taken into account indetermining the confidence score discussed above. The medium cleansesearch works the same way except that in the classification knowledgedatabase words that are less distinctive for a category are notsearched. For the high cleanse search only the most characteristic wordsare searched.

So, for example, consider the pens of Table 2 as a partial listing ofmeta-item data in a knowledge classification database. All of theattribute values in Table 2 would likely be searched for in the lowestcleanse. For a medium cleanse, words such as ultra, blue, and red wouldbe cleansed from the set of search terms. For a high cleanse, words suchas flexgrip and retractable might be cleansed from the searchable terms.For the high cleanse, this leaves only the terms ballpoint, pen,tri-grip, Precise VS and rollerball. Any item that contains any one ofthese terms in its description can be classified as a pen with a fairlyhigh degree of confidence.

As an alternative to the low, medium, high cleanse approach discussedabove, the classification knowledge database can feature the moredistinctive words more prominently. So, for the pens of Table 2, thedatabase might have five occurrences of the distinctive word“ballpoint”. The less distinctive word “retractable” might be repeatedonce, while the least distinctive word “red” may occur just once in thedatabase for the pens category. In a search, a match for “ballpoint”results in five matches, for “retractable”, two matches and for “red”one match. The results, if scored based on the number of matches, willthen list hits that contain the most distinctive words as more relevantthan those that contain only the least distinctive words.

The two examples above, low/medium/high cleanse and repeated words, areprovided as examples that may be well suited in particular instances. Insome kinds of classification systems or types of items, it may be bestto simply treat all words the same. The search engine simply looks formatching words in a knowledge base and counts up the number of hits.This approach can be particularly powerful when the knowledge base is areference catalog and when a cascaded search, as described above, isapplied.

The benefit of a multi-level or cascading search with multiple searchmethodologies can be illustrated by an example. Assume the item to beclassified discussed earlier, in this case a pen, with a descriptionthat reads “hybrid gel roller rollerball pen fine black” (see Table 1).A search according to method 2 of Table 6 might provide 3 matches eachwith a high confidence as shown in Table 8.

TABLE 8 Score (weighted & Category normalized) Ballpoint Pens 100General Lubricants 100 Glues 100

As shown in Table 8, three categories came out with the highest ratings,ballpoint pens, general lubricants and glues. Since the score is 100, itis difficult for the system to automatically classify the item based onthese results. Performing searches 3, 4, and 6 of Table 6 can provideadditional information. The results obtained by combining these 5different searches is shown in Table 9.

TABLE 9 Score (weighted & Category normalized) Ballpoint Pens 94.7General Lubricants 73.7 Glues 52.6 Chemical Adhesives 42.2 Air Freshener21.1

The confidence scores can be determined heuristically, statistically, orwith a variety of other approaches. In the case of Table 9, theconfidence is sufficiently higher for pens (94.7) than for generallubricants (73.7) that the item can safely be classified as a pen. Theparameters for determining when a score is high enough and how muchhigher a score must be than other scores will depend upon the particularapplication of the present invention. It will also depend on the balancebetween accurate classification and cost. It may be acceptable to haveten percent of the items misclassified in order to completely eliminatehuman intervention. Alternatively, the item of Table 9 could beclassified in the top two categories. For the eventual electroniccatalog, this would result in categories containing some percentage ofmisclassified items. On the other hand, it may help to ensure that eachitem is classified in a proper category.

If the confidence scores are not sufficiently high to automaticallyclassify the result, the categories and confidence scores are presentedto an operator or user 155 who then performs the human review andselection discussed before. The user designates a particular category asthe best category for the item 157 and this is then used to classify theitem.

Using multiple cascading searches on multiple attributes and manydescriptive terms, it is unlikely that any items will not be able to beclassified unless the items are unlike the items which already exist inany of the knowledge databases. However, in the event that items are notable to be automatically classified, the operator can be presented witha very short list of possible classifications. In many instances, bylooking at the description of the item to be classified and the possiblecategories, the operator can very quickly select appropriateclassification. In the provided example, it will normally be very simplefor an operator to determine whether an item would fit in the fivecategories which were returned by the search engine as shown in Table 6.If no category is appropriate, then the user can add a new category forthe new item.

A computer system 400 representing an example of a system upon whichfeatures of the present invention may be implemented is shown in FIG. 9.The search engine and databases of FIG. 1 will typically be configuredsimilar to what is shown in FIG. 9. The computer system can be deployedon a single platform as shown in FIG. 9 or different components can beprovided on separate platforms so that the bus 401 connects severaldifferent platforms together containing different portions or aspects ofthe mass storage 407 and other system 410 components. The computersystem can also be implemented in one or more small portable platformssuch as laptops and PDAs. The computer system 400 includes a bus orother communication means 401 for communicating information, and aprocessing means such as a microprocessor 402 coupled with the bus 401for processing information. The computer system 400 further includes amain memory 404, such as a random access memory (RAM) or other dynamicdata storage device, coupled to the bus 401 for storing information andinstructions to be executed by the processor 402. The main memory alsomay be used for storing temporary variables or other intermediateinformation during execution of instructions by the processor.

The computer system may also include a nonvolatile memory 406, such as aread only memory (ROM) or other static data storage device coupled tothe bus for storing static information and instructions for theprocessor. A mass memory 407 such as a magnetic disk or optical disc andits corresponding drive may also be coupled to the bus of the computersystem for storing information and instructions such as the variousdatabases.

The computer system can also be coupled via the bus to a display deviceor monitor 421, such as a cathode ray tube (CRT) or Liquid CrystalDisplay (LCD), for displaying information to a user. For example,graphical and textual indications of installation status, operationsstatus and other information may be presented to the user on the displaydevice. Typically, an alphanumeric input device 422, such as a keyboardwith alphanumeric, function and other keys, may be coupled to the busfor communicating information and command selections to the processor. Acursor control input device 423, such as a mouse, a trackball, or cursordirection keys can be coupled to the bus for communicating directioninformation and command selections to the processor and to controlcursor movement on the display 421.

A communication device 425 is also coupled to the bus 401. Thecommunication device 425 may include a modem, a network interface card,or other well known interface devices, such as those used for couplingto Ethernet, token ring, or other types of physical attachment forpurposes of providing a communication link to support a local or widearea network (LAN or WAN), for example. In this manner, the computersystem may also be coupled to a number of clients or servers via aconventional network infrastructure, including an intranet or theInternet, for example. Source Content and the databases can be madeavailable to the computer system in this way.

It is to be appreciated that a lesser or more equipped computer systemthan the example described above may be preferred for certainimplementations. Therefore, the configuration of the exemplary computersystem 400 will vary from implementation to implementation dependingupon numerous factors, such as price constraints, performancerequirements, technological improvements, or other circumstances.

It should be noted that, while the steps described herein may beperformed under the control of a programmed processor, such as theprocessor 402, in alternative embodiments, the steps may be fully orpartially implemented by any programmable or hard coded logic, such asField Programmable Gate Arrays (FPGAs), TTL logic, or ApplicationSpecific Integrated Circuits (ASICs), for example. Additionally, themethod of the present invention may be performed by any combination ofprogrammed general purpose computer components or custom hardwarecomponents. Therefore, nothing disclosed herein should be construed aslimiting the present invention to a particular embodiment wherein therecited steps are performed by a specific combination of hardwarecomponents.

In the present description, for the purposes of explanation, numerousspecific details are set forth in order to provide a thoroughunderstanding of the present invention. It will be apparent, however, toone skilled in the art that the present invention may be practicedwithout some of these specific details. In other instances, well-knownstructures and devices are shown in block diagram form. The specificdetail may be supplied by one of average skill in the art as appropriatefor any particular implementation.

The present invention includes various steps, which may be performed byhardware components or may be embodied in machine-executableinstructions, such as software or firmware instructions. Themachine-executable instructions may be used to cause a general-purposeor special-purpose processor programmed with the instructions to performthe steps. Alternatively, the steps may be performed by a combination ofhardware and software.

The present invention may be provided as a computer program product thatmay include a machine-readable medium having stored instructionsthereon, which may be used to program a computer (or other machine) toperform a process according to the present invention. Themachine-readable medium may include, but is not limited to, floppydiskettes, optical disks, CD-ROMs, and magneto-optical disks, ROMs,RAMs, EPROMs, EEPROMs, magnet or optical cards, flash memory, or anyother type of medium suitable for storing electronic instructions.Moreover, the present invention may also be downloaded as a computerprogram product, wherein the program may be transferred from a remotecomputer to a requesting computer by way of data signals embodied in acarrier wave or other machine-readable propagation medium via acommunication link (e.g., a modem or network connection).

Importantly, while embodiments of the present invention are describedwith reference to categorizing office supplies, the method and apparatusdescribed herein are equally applicable to categorizing any other typesof an electronic catalog and other types of items including documents,and data files. In addition, while the invention has been described interms of an electronic catalog, other types of ordered informationstored in an electronic form can benefit from the present invention.

Although this disclosure describes illustrative embodiments of theinvention in detail, it is to be understood that the invention is notlimited to the precise embodiments described. The specification anddrawings are, accordingly, to be regarded in an illustrative rather thana restrictive sense. Various adaptations, modifications and alterationsmay be practiced within the scope of the invention defined by theappended claims.

1. A computer implemented method comprising: performing a search for asource classification code of an item in a mapping of values from asource classification system to values in a destination classificationsystem; if the source classification code exists in the mapping thenselecting a destination classification for the item based on the search;and if the source classification code does not exist in the mappingthen: parsing the source classification code into parsed componentscorresponding to hierarchical levels of the source classificationsystem; modifying the source classification code by replacing one ofsaid parsed components a component so that the source classificationcode will be at a higher level in the source classification system;performing a search in the mapping for the modified sourceclassification code; and selecting a second destination classificationfor the item based on the search if the modified source classificationcode exists in the mapping.
 2. The method of claim 1, wherein replacingcomprises replacing the value of the identified component with one ormore zeros.
 3. The method of claim 1, wherein replacing comprisesreplacing the component with one or more Xs.
 4. A computer implementedmethod comprising: selecting an attribute of an item associated with asource classification system; comparing the value of the attribute to aset of possible values, the possible values being associatedrespectively with a mapping of values from the source classificationsystem to values in a destination classification system; if the value ofthe attribute exists in the mapping then selecting a destinationclassification for the item based on the comparison; and if the value ofthe attribute does not exist in the mapping then: modifying the value ofthe attribute; comparing the modified value to the set of possiblevalues; and selecting a second destination classification for the itembased on the comparison of the modified value if the modified valueexists in the mapping.
 5. The method of claim 4, wherein the sourceclassification system comprises a hierarchical classification system. 6.The method of claim 5, wherein modifying comprises modifying the valueto be at a higher hierarchical level in the source classificationsystem.
 7. The method of claim 5, wherein modifying comprises: parsingthe value of the attribute into components corresponding to levels ofthe hierarchy of the source classification system; and replacing acomponent so that the value of the attribute will be at a higher levelin the classification system.
 8. The method of claim 7, whereinreplacing comprises replacing the value of the identified component withone or more zeros.
 9. The method of claim 7, wherein replacing comprisesreplacing the component with one or more Xs.
 10. The method of claim 4,wherein comparing the value of the characteristic comprises performing asearch for a matching value among the set of possible attribute values.11. The method of claim 4, wherein the modified value does not exist inthe mapping, the method further comprising: selecting a second attributeof the item; comparing the value of the second attribute of the item toa second set of possible values associated respectively, withdestination classifications; selecting at least one destinationclassification for the item based on the comparison; presenting theselected destination classifications to a user; receiving a designationfrom the user of at least one selected destination classification; andclassifying the item with the designated destination classifications.12. The method of claim 4, wherein the value of the attribute comprisesa source classification code.
 13. A machine-readable medium havingstored thereon data representing sequences of instructions which, whenexecuted by a machine, cause the machine to perform operationscomprising: selecting an attribute of an item associated with a sourceclassification system; comparing the value of the attribute of the itemto a set of possible values, the possible values being associatedrespectively with a hierarchical mapping of values from the sourceclassification system to values in a destination classification system;if the value of the attribute of the item exists in the mapping thenselecting a destination classification for the item based on thecomparison; and if the value of the attribute does not exist in themapping then: modifying the value of the attribute; comparing themodified value to the set of possible values; and selecting a seconddestination classification for the item based on the comparison of themodified value if the modified value exists in the mapping.
 14. Themedium of claim 13, wherein the source classification system comprises ahierarchical classification system.
 15. The medium of claim 14, whereinmodifying comprises modifying the value to be at a higher hierarchicallevel in the source classification system.
 16. A computer implementedapparatus comprising: a classification knowledge database containing amapping of values from a source classification system to values in adestination classification system; and a search engine to select anattribute of the item associated with the source classification system,the search engine comparing the value of the attribute of the item to aset of possible values associated with the mapping, and selecting adestination classification for the item based on the comparison if thevalue of the attribute exists in the mapping, and the search enginemodifying the value of the attribute, comparing the modified value tothe set of possible values, and selecting a second destinationclassification for the item based on the comparison of the modifiedvalue if the modified value exists in the mapping, if the value of theattribute does not exist in the mapping.
 17. The apparatus of claim 16,further comprising a classification engine to classify the item with thefirst destination classification if the value of the attribute exists inthe mapping.
 18. The apparatus of claim 17, wherein the classificationengine is further to classify the item if with the second destinationclassification if the modified value exists in the mapping and the valueof the attribute does not exist in the mapping.
 19. The apparatus ofclaim 16, wherein the source classification system comprises ahierarchical classification system.
 20. The apparatus of claim 16,wherein the search engine to modify the value of the attribute bymodifying the value to be at a higher hierarchical level in the sourceclassification system.